$(function () {

    let error_name = false;
    let error_password = false;
    let $username = $("#username");
    let $pwd = $("#pwd");

    // 检查用户名的长度是否符合要求
    function check_user_name() {
        let len = $username.val().length;
        if(len<5||len>20){
            $username.next().html('请输入5-20个字符的用户名');
            $username.next().show();
            error_name = true;
        }else{
            $username.next().hide();
            error_name = false;
        }
    }

    // 检查密码的长度是否符合要求
    function check_pwd(){
        var len = $pwd.val().length;
        if(len<8||len>20)
        {
            $pwd.next().html('密码最少8位，最长20位')
            $pwd.next().show();
            error_password = true;
        }
        else
        {
            $pwd.next().hide();
            error_password = false;
        }
    }

    $username.blur(function () {
        check_user_name();
    });

    $pwd.blur(function () {
        check_pwd();
    });

    $("#login-form").submit(function (e) {
        e.preventDefault();

        let user_name = $username.val();
        let pwd = $pwd.val();
        let remember = $("#remember").val();
        let csrf_token = $("input[name='csrfmiddlewaretoken']").val();

        check_user_name();
        check_pwd();

        if(error_name || error_password){
            // 如果用户名和密码的长度不够，给用户显示提示信息，然后返回不再继续往下执行。
            // return;
        }else{
            let data = {
                'username': user_name,
                'pwd': pwd,
                'remember': remember,
                'csrfmiddlewaretoken': csrf_token
            };
            $.ajax({
                url: window.location.href,
                type: 'post',
                dataType: 'json',
                data: data,
                success: function (ret) {
                    console.log(ret);
                    if(ret.errno === '0'){
                        // ret.errno=0,表示登录成功，跳转回首页
                        // TODO: 从哪个页面进来的登录页面，登录后就应该跳转回哪个页面(注册和登录跳转的，返回首页)
                        let next_url = ret.next_url;
                        console.log('next_url is: ' + next_url)
                        if(!next_url){
                            location.href = next_url;
                        }
                        location.href = '/';
                    }else{
                        // 未激活
                        if(ret.errno === '4104'){
                            location.href = '/user/unverified-email/';
                        }else if (ret.errno === "4103" || ret.errno === "4106"){
                            $pwd.next().html("用户名或密码错误");
                            $pwd.next().show();
                        }
                    }
                }
            })
        }

    });
});